#ifndef _NE_KEYBOARD_EVENT_H_
#define _NE_KEYBOARD_EVENT_H_

#include <common/Event.h>
#include <system/Keyboard.h>

namespace ne
{
    class NEAPI KeyboardEvent : public Event
    {
        public:
            KeyboardEvent(const Keyboard &keyboard, const KeyboardKey k);

            KeyboardEvent(const KeyboardEvent &e);
            
            KeyboardEvent& operator = (const KeyboardEvent &e);

            virtual ~KeyboardEvent();

        private:
            KeyboardEvent();

        public:
            uint32_t modifier;
            KeyboardTranslationMode translationMode;
            KeyboardKey key;
            bool keyDown;
    };
}

#endif
